package com.sync.platform.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * Server configuration entity
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("server_config")
public class ServerConfig extends BaseEntity {

    /**
     * Server name
     */
    @TableField("name")
    private String name;

    /**
     * Server host (IP or domain)
     */
    @TableField("host")
    private String host;

    /**
     * Server port
     */
    @TableField("port")
    private Integer port;

    /**
     * Username for connecting to the server
     */
    @TableField("username")
    private String username;

    /**
     * Password for connecting to the server
     */
    @TableField("password")
    private String password;

    /**
     * SSH private key path (optional)
     */
    @TableField("private_key_path")
    private String privateKeyPath;

    /**
     * Optional description
     */
    @TableField("description")
    private String description;

    /**
     * Server status (0: offline, 1: online)
     */
    @TableField("status")
    private Integer status;

    /**
     * Transfer type (ssh, ftp)
     */
    @TableField("transfer_type")
    private String transferType;
}
